; Lizard
; Copyright Brad Smith 2018
; http://lizardnes.com

; include file for various common enumerations

GAME_VERSION = 0
BETA = 0
FASTBOSS = 0 ; for fast boss testing
DEBUG = 0

PAD_A      = $01
PAD_B      = $02
PAD_SELECT = $04
PAD_START  = $08
PAD_U      = $10
PAD_D      = $20
PAD_L      = $40
PAD_R      = $80

.enum
NMI_NONE = 0
NMI_READY   ; update palette + OAM
NMI_ROW     ; READY + 32 bytes
NMI_DOUBLE  ; READY + 64 bytes
NMI_WIDE    ; READY + 64 bytes (split horizontally across 2 nametables)
NMI_STREAM  ; READY + 1 byte count + count (<=21) triplets (addr hi, addr lo, value)
NMI_OFF     ; rendering off
.endenum

.enum
LIZARD_OF_KNOWLEDGE = 0
LIZARD_OF_BOUNCE
LIZARD_OF_SWIM
LIZARD_OF_HEAT
LIZARD_OF_SURF
LIZARD_OF_PUSH
LIZARD_OF_STONE
LIZARD_OF_COFFEE
LIZARD_OF_LOUNGE
LIZARD_OF_DEATH
LIZARD_OF_BEYOND
LIZARD_OF_COUNT ; not a lizard
.endenum

.enum
; bank0 ($E)
DOG_NONE = 0
DOG_DOOR
DOG_PASS
DOG_PASS_X
DOG_PASS_Y
DOG_PASSWORD_DOOR
DOG_LIZARD_EMPTY_LEFT
DOG_LIZARD_EMPTY_RIGHT
DOG_LIZARD_DISMOUNTER
DOG_SPLASHER
DOG_DISCO
DOG_WATER_PALETTE
DOG_GRATE
DOG_GRATE90
DOG_WATER_FLOW
DOG_RAINBOW_PALETTE
DOG_PUMP
DOG_SECRET_STEAM
DOG_CEILING_FREE
DOG_BLOCK_COLUMN
DOG_SAVE_STONE
DOG_COIN
DOG_MONOLITH
DOG_ICEBLOCK
DOG_VATOR
DOG_NOISE
DOG_SNOW
DOG_RAIN
DOG_RAIN_BOSS
DOG_DRIP
DOG_HOLD_SCREEN
DOG_BOSS_DOOR
DOG_BOSS_DOOR_RAIN
DOG_BOSS_DOOR_EXIT
DOG_BOSS_DOOR_EXEUNT
DOG_BOSS_RUSH
DOG_OTHER
DOG_ENDING
DOG_RIVER_EXIT
DOG_BONES
DOG_EASY
DOG_SPRITE0
DOG_SPRITE2
DOG_HINTD
DOG_HINTU
DOG_HINTL
DOG_HINTR
DOG_HINT_PENGUIN
DOG_BIRD
DOG_FROG
DOG_GROG
DOG_PANDA
DOG_GOAT
DOG_DOG
DOG_WOLF
DOG_OWL
DOG_ARMADILLO
DOG_BEETLE
DOG_SKEETLE
DOG_SEEKER_FISH
DOG_MANOWAR
DOG_SNAIL
DOG_SNAPPER
DOG_VOIDBALL
DOG_BALLSNAKE
DOG_MEDUSA
DOG_PENGUIN
DOG_MAGE
DOG_MAGE_BALL
DOG_GHOST
DOG_PIGGY
DOG_PANDA_FIRE
DOG_GOAT_FIRE
DOG_DOG_FIRE
DOG_OWL_FIRE
DOG_MEDUSA_FIRE
DOG_ARROW_LEFT
DOG_ARROW_RIGHT
DOG_SAW
DOG_STEAM
DOG_SPARKD
DOG_SPARKU
DOG_SPARKL
DOG_SPARKR
DOG_FROB_FLY
; bank1 ($D)
DOG_PASSWORD
DOG_LAVA_PALETTE
DOG_WATER_SPLIT
DOG_BLOCK
DOG_BLOCK_ON
DOG_BLOCK_OFF
DOG_DRAWBRIDGE
DOG_ROPE
DOG_BOSS_FLAME
DOG_RIVER
DOG_RIVER_ENTER
DOG_SPRITE1
DOG_BEYOND_STAR
DOG_BEYOND_END
DOG_OTHER_END_LEFT
DOG_OTHER_END_RIGHT
DOG_PARTICLE
DOG_INFO
DOG_DIAGNOSTIC
DOG_METRICS
DOG_SUPER_MOOSE
DOG_BRAD_DUNGEON
DOG_BRAD
DOG_HEEP_HEAD
DOG_HEEP
DOG_HEEP_TAIL
DOG_LAVA_LEFT
DOG_LAVA_RIGHT
DOG_LAVA_LEFT_WIDE
DOG_LAVA_RIGHT_WIDE
DOG_LAVA_LEFT_WIDER
DOG_LAVA_RIGHT_WIDER
DOG_LAVA_DOWN
DOG_LAVA_POOP
DOG_LAVA_MOUTH
DOG_BOSSTOPUS
DOG_BOSSTOPUS_EGG
DOG_CAT
DOG_CAT_SMILE
DOG_CAT_SPARKLE
DOG_CAT_STAR
DOG_RACCOON
DOG_RACCOON_LAUNCHER
DOG_RACCOON_LAVABALL
DOG_RACCOON_VALVE
DOG_FROB
DOG_FROB_HAND_LEFT
DOG_FROB_HAND_RIGHT
DOG_FROB_ZAP
DOG_FROB_TONGUE
DOG_FROB_BLOCK
DOG_FROB_PLATFORM
DOG_QUEEN
DOG_HARE
DOG_HARECICLE
DOG_HAREBURN
DOG_ROCK
DOG_LOG
DOG_DUCK
DOG_RAMP
DOG_RIVER_SEEKER
DOG_BARREL
DOG_WAVE
DOG_SNEK_LOOP
DOG_SNEK_HEAD
DOG_SNEK_TAIL
DOG_RIVER_LOOP
DOG_WATT
DOG_WATERFALL
; bank2 ($F)
DOG_TIP
DOG_WIQUENCE
DOG_WITCH
DOG_BOOK
; count
DOG_COUNT
.endenum

DOG_BANK0_START = DOG_NONE
DOG_BANK1_START = DOG_PASSWORD
DOG_BANK2_START = DOG_TIP

.enum
FLAG_NONE              = $00
FLAG_LOUNGE_ICE0       = $01
FLAG_LOUNGE_ICE1       = $02
FLAG_LOUNGE_ICE2       = $03
FLAG_LOUNGE_ICE3       = $04
FLAG_LOUNGE_ICE4       = $05
FLAG_LOUNGE_ICE5       = $06
FLAG_LOUNGE_ICE6       = $07
FLAG_BLOCK_PUSH        = $08
FLAG_EYESIGHT          = $09
FLAG_BOSS_0_MOUNTAIN   = $0A
FLAG_BOSS_1_RIVER      = $0B
FLAG_BOSS_2_WATER      = $0C
FLAG_BOSS_3_VOLCANO    = $0D
FLAG_BOSS_4_PALACE     = $0E
FLAG_BOSS_5_VOID       = $0F
FLAG_DELETED           = $10
FLAG_BLOCK_DRAWBRIDGE  = $11
FLAG_BLOCK_INFO        = $12
FLAG_ROPE_0            = $13
FLAG_ROPE_1            = $14
FLAG_ROPE_2            = $15
FLAG_ROPE_3            = $16
FLAG_BRIDGE            = $17
FLAG_COUNT
.endenum

DISMOUNT_SLOT          = 15
SPLASHER_SLOT          = 10
OTHER_BONES_SLOT       = 15
HOLD_SLOT              = 15
RIVER_SLOT             = 0
BEYOND_STAR_SLOT       = 5
BOSS_DOOR_RAIN_SLOT    = 0
FROB_FLY_SLOT          = 3
HARE_SLOT              = 1
WIQUENCE_SLOT          = 0
WITCH_SLOT             = 12
BOOK_SLOT              = 13
TIP_SLOT               = 1

dgd_RIVER_SCROLL_A0    = dog_data0
dgd_RIVER_SCROLL_A1    = dog_data1
dgd_RIVER_SCROLL_B0    = dog_data2
dgd_RIVER_SCROLL_B1    = dog_data3
dgd_RIVER_SPLASH_TIME  = dog_data4
dgd_RIVER_SPLASH_FLIP  = dog_data5
dgd_RIVER_OVERLAP      = dog_data6

dgd_PASSWORD_VALUE     = dog_data1
dgd_BEYOND_STAR_FADE   = dog_data2
dgd_BEYOND_STAR_DIE    = dog_data3
dgd_SAVE_STONE_ON      = dog_data0
dgd_MAGE_BALL_MODE     = dog_data0
dgd_RACCOON_VALVE_LOCK = dog_data1
dgd_FROB_SCREEN        = dog_data0
dgd_FROB_STATE         = dog_data3
dgd_FROB_NEXT          = dog_data4
dgd_FROB_FLY_LOWER     = dog_data10
dgd_WIQUENCE_HELIX     = dog_data1
dgd_WIQUENCE_TIME      = dog_data4
dgd_WITCH_ANIM         = dog_data0
dgd_WITCH_SPRITE       = dog_data2
dgd_WITCH_RISE         = dog_data3
dgd_BOOK_HUMAN         = dog_data8

PIGGY_BURST = 125
FROG_FRACTION_COUNT = 69
TIP_MAX = 6

; end of file
